package com.ys.utils.spring.base;

import java.util.concurrent.FutureTask;
import java.util.function.Function;

/**
 * 多线处理工具类
 */
public abstract class TaskUtils {

    /**
     * 程序内部并行处理
     * @param func  方法
     * @param <T>   方法返回值
     * @return
     */
    public static <T> FutureTask<T> run(Function<Void,T> func){
        FutureTask<T> f = new FutureTask<>(()->func.apply(null));
        new Thread(f).start();
        return f;
    }
}
